#!gsutil -m cp gs://terra-featured-workspaces/Sc_SnRNA-seq/data/mouse_cortex/raw_feature_bc_matrix.h5 ./mouse/
#!gsutil -m cp gs://terra-featured-workspaces/Sc_SnRNA-seq/data/mouse_cortex_ADT/mouse_cortex_ADT.csv ./mouse/
#!pegasus demuxEM -p 8 --min-num-genes 200 --generate-diagnostic-plots ./mouse/mouse_cortex_ADT.csv ./mouse/raw_feature_bc_matrix.h5 ./mouse/exp
import pegasus as pg
import numpy as np
adata = pg.read_input("./mouse/exp_demux.h5sc", select_singlets = True)
adata
adata.obs['assignment'].value_counts()
pg.qc_metrics(adata, mito_prefix = 'mt-', min_genes = 200)
adata.var.keys()
adata.obs.keys()
pg.violin(adata, keys = ['n_genes', 'n_counts', 'percent_mito'], by = 'passed_qc')
pg.scatter_matrix(adata, ['n_genes', 'n_counts', 'percent_mito'], color='passed_qc')
pg.violin(adata, keys = ['n_cells'])
pg.filter_data(adata)
adata
pg.log_norm(adata, norm_count = 1e5)
pg.highly_variable_features(adata, consider_batch = False)
pg.variable_feature_plot(adata)
pg.pca(adata)
pg.neighbors(adata)
pg.leiden(adata, n_iter = 2)
pg.composition_plot(adata, by = 'leiden_labels', condition = 'assignment')
pg.fitsne(adata)
pg.embedding(adata, basis = 'fitsne', keys = ['leiden_labels', 'assignment'])
pg.umap(adata)
pg.embedding(adata, basis = 'umap', keys = ['leiden_labels', 'assignment'])
pg.diffmap(adata)
pg.fle(adata)
pg.embedding(adata, basis = 'fle', keys = ['leiden_labels', 'assignment'])
pg.de_analysis(adata, cluster = 'leiden_labels', fisher = True, mwu = True)
Show a volcano plot for clusters 1 and 2.
pg.volcano(adata, cluster_ids=['1', '2'])
markers = pg.find_markers(adata, label_attr = 'leiden_labels')
len(markers)
inferred_cell_type_results = pg.infer_cell_types(adata, markers = 'mouse_brain', de_test = 't')
Rename clusters using the inferred cell types
new_cluster_names = pg.infer_cluster_names(inferred_cell_type_results)
adata.rename_categories('leiden_labels', new_cluster_names)
pg.embedding(adata, basis='fitsne', keys=['leiden_labels'], labels_on_data=True, padding=(0.1, 0.01), width=600)
pg.write_output(adata, 'mouse_cortex_scc.h5ad')